{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Explore and create ML datasets\n",
    "\n",
    "In this notebook, we will explore data corresponding to taxi rides in New York City to build a Machine Learning model in support of a fare-estimation tool. The idea is to suggest a likely fare to taxi riders so that they are not surprised, and so that they can protest if the charge is much higher than expected.\n",
    "\n",
    "## Learning Objectives\n",
    "* Access and explore a public BigQuery dataset on NYC Taxi Cab rides\n",
    "* Visualize your dataset using the Seaborn library\n",
    "* Inspect and clean-up the dataset for future ML model training\n",
    "* Create a benchmark to judge future ML model performance off of\n",
    "\n",
    "Each learning objective will correspond to a __#TODO__ in the [student lab notebook](../labs/explore_data.ipynb) -- try to complete that notebook first before reviewing this solution notebook. \n",
    "\n",
    "Let's start with the Python imports that we need."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "!sudo chown -R jupyter:jupyter /home/jupyter/training-data-analyst"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "from google.cloud import bigquery\n",
    "import seaborn as sns\n",
    "import matplotlib.pyplot as plt\n",
    "import pandas as pd\n",
    "import numpy as np"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<h3> Extract sample data from BigQuery </h3>\n",
    "\n",
    "The dataset that we will use is <a href=\"https://console.cloud.google.com/bigquery?project=nyc-tlc&p=nyc-tlc&d=yellow&t=trips&page=table\">a BigQuery public dataset</a>. Click on the link, and look at the column names. Switch to the Details tab to verify that the number of records is one billion, and then switch to the Preview tab to look at a few rows.\n",
    "\n",
    "Let's write a SQL query to pick up interesting fields from the dataset. It's a good idea to get the timestamp in a predictable format."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>pickup_datetime</th>\n",
       "      <th>pickup_longitude</th>\n",
       "      <th>pickup_latitude</th>\n",
       "      <th>dropoff_longitude</th>\n",
       "      <th>dropoff_latitude</th>\n",
       "      <th>passenger_count</th>\n",
       "      <th>trip_distance</th>\n",
       "      <th>tolls_amount</th>\n",
       "      <th>fare_amount</th>\n",
       "      <th>total_amount</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>0</td>\n",
       "      <td>2010-03-04 00:35:16 UTC</td>\n",
       "      <td>-74.035201</td>\n",
       "      <td>40.721548</td>\n",
       "      <td>-74.035201</td>\n",
       "      <td>40.721548</td>\n",
       "      <td>1</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>1</td>\n",
       "      <td>2010-03-15 17:18:34 UTC</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>1</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>2</td>\n",
       "      <td>2015-03-18 01:07:02 UTC</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>5</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>3</td>\n",
       "      <td>2015-03-09 18:24:03 UTC</td>\n",
       "      <td>-73.937248</td>\n",
       "      <td>40.758202</td>\n",
       "      <td>-73.937263</td>\n",
       "      <td>40.758190</td>\n",
       "      <td>1</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>4</td>\n",
       "      <td>2010-03-06 06:33:41 UTC</td>\n",
       "      <td>-73.785514</td>\n",
       "      <td>40.645400</td>\n",
       "      <td>-73.784564</td>\n",
       "      <td>40.648681</td>\n",
       "      <td>2</td>\n",
       "      <td>4.1</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>5</td>\n",
       "      <td>2013-08-07 00:42:45 UTC</td>\n",
       "      <td>-74.025817</td>\n",
       "      <td>40.763044</td>\n",
       "      <td>-74.046752</td>\n",
       "      <td>40.783240</td>\n",
       "      <td>1</td>\n",
       "      <td>4.8</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>6</td>\n",
       "      <td>2015-04-26 02:56:37 UTC</td>\n",
       "      <td>-73.987656</td>\n",
       "      <td>40.771656</td>\n",
       "      <td>-73.987556</td>\n",
       "      <td>40.771751</td>\n",
       "      <td>1</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>7</td>\n",
       "      <td>2015-04-29 18:45:03 UTC</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>1</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>8</td>\n",
       "      <td>2010-03-11 21:24:48 UTC</td>\n",
       "      <td>-74.571511</td>\n",
       "      <td>40.910800</td>\n",
       "      <td>-74.628928</td>\n",
       "      <td>40.964321</td>\n",
       "      <td>1</td>\n",
       "      <td>68.4</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>9</td>\n",
       "      <td>2013-08-24 01:58:23 UTC</td>\n",
       "      <td>-73.972171</td>\n",
       "      <td>40.759439</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>4</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "           pickup_datetime  pickup_longitude  pickup_latitude  \\\n",
       "0  2010-03-04 00:35:16 UTC        -74.035201        40.721548   \n",
       "1  2010-03-15 17:18:34 UTC          0.000000         0.000000   \n",
       "2  2015-03-18 01:07:02 UTC          0.000000         0.000000   \n",
       "3  2015-03-09 18:24:03 UTC        -73.937248        40.758202   \n",
       "4  2010-03-06 06:33:41 UTC        -73.785514        40.645400   \n",
       "5  2013-08-07 00:42:45 UTC        -74.025817        40.763044   \n",
       "6  2015-04-26 02:56:37 UTC        -73.987656        40.771656   \n",
       "7  2015-04-29 18:45:03 UTC          0.000000         0.000000   \n",
       "8  2010-03-11 21:24:48 UTC        -74.571511        40.910800   \n",
       "9  2013-08-24 01:58:23 UTC        -73.972171        40.759439   \n",
       "\n",
       "   dropoff_longitude  dropoff_latitude  passenger_count  trip_distance  \\\n",
       "0         -74.035201         40.721548                1            0.0   \n",
       "1           0.000000          0.000000                1            0.0   \n",
       "2           0.000000          0.000000                5            0.0   \n",
       "3         -73.937263         40.758190                1            0.0   \n",
       "4         -73.784564         40.648681                2            4.1   \n",
       "5         -74.046752         40.783240                1            4.8   \n",
       "6         -73.987556         40.771751                1            0.0   \n",
       "7           0.000000          0.000000                1            1.0   \n",
       "8         -74.628928         40.964321                1           68.4   \n",
       "9           0.000000          0.000000                4            0.0   \n",
       "\n",
       "   tolls_amount  fare_amount  total_amount  \n",
       "0           0.0          0.0           0.0  \n",
       "1           0.0          0.0           0.0  \n",
       "2           0.0          0.0           0.0  \n",
       "3           0.0          0.0           0.0  \n",
       "4           0.0          0.0           0.0  \n",
       "5           0.0          0.0           0.0  \n",
       "6           0.0          0.0           0.0  \n",
       "7           0.0          0.0           0.0  \n",
       "8           0.0          0.0           0.0  \n",
       "9           0.0          0.0           0.0  "
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "%%bigquery\n",
    "SELECT\n",
    "    FORMAT_TIMESTAMP(\n",
    "        \"%Y-%m-%d %H:%M:%S %Z\", pickup_datetime) AS pickup_datetime,\n",
    "    pickup_longitude, pickup_latitude, dropoff_longitude,\n",
    "    dropoff_latitude, passenger_count, trip_distance, tolls_amount, \n",
    "    fare_amount, total_amount \n",
    "FROM\n",
    "    `nyc-tlc.yellow.trips` # TODO 1\n",
    "LIMIT 10"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Let's increase the number of records so that we can do some neat graphs.  There is no guarantee about the order in which records are returned, and so no guarantee about which records get returned if we simply increase the LIMIT. To properly sample the dataset, let's use the HASH of the pickup time and return 1 in 100,000 records -- because there are 1 billion records in the data, we should get back approximately 10,000 records if we do this.\n",
    "\n",
    "We will also store the BigQuery result in a Pandas dataframe named \"trips\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "%%bigquery trips\n",
    "SELECT\n",
    "    FORMAT_TIMESTAMP(\n",
    "        \"%Y-%m-%d %H:%M:%S %Z\", pickup_datetime) AS pickup_datetime,\n",
    "    pickup_longitude, pickup_latitude, \n",
    "    dropoff_longitude, dropoff_latitude,\n",
    "    passenger_count,\n",
    "    trip_distance,\n",
    "    tolls_amount,\n",
    "    fare_amount,\n",
    "    total_amount\n",
    "FROM\n",
    "    `nyc-tlc.yellow.trips`\n",
    "WHERE\n",
    "    ABS(MOD(FARM_FINGERPRINT(CAST(pickup_datetime AS STRING)), 100000)) = 1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "10789\n"
     ]
    }
   ],
   "source": [
    "print(len(trips))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>pickup_datetime</th>\n",
       "      <th>pickup_longitude</th>\n",
       "      <th>pickup_latitude</th>\n",
       "      <th>dropoff_longitude</th>\n",
       "      <th>dropoff_latitude</th>\n",
       "      <th>passenger_count</th>\n",
       "      <th>trip_distance</th>\n",
       "      <th>tolls_amount</th>\n",
       "      <th>fare_amount</th>\n",
       "      <th>total_amount</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>0</td>\n",
       "      <td>2009-02-12 17:51:38 UTC</td>\n",
       "      <td>-73.965325</td>\n",
       "      <td>40.769670</td>\n",
       "      <td>-73.980505</td>\n",
       "      <td>40.748393</td>\n",
       "      <td>1</td>\n",
       "      <td>1.70</td>\n",
       "      <td>0.0</td>\n",
       "      <td>11.1</td>\n",
       "      <td>11.60</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>1</td>\n",
       "      <td>2012-02-27 09:19:10 UTC</td>\n",
       "      <td>-73.874431</td>\n",
       "      <td>40.774011</td>\n",
       "      <td>-73.983967</td>\n",
       "      <td>40.744082</td>\n",
       "      <td>1</td>\n",
       "      <td>11.60</td>\n",
       "      <td>4.8</td>\n",
       "      <td>27.7</td>\n",
       "      <td>38.00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>2</td>\n",
       "      <td>2014-05-20 23:09:00 UTC</td>\n",
       "      <td>-73.995203</td>\n",
       "      <td>40.727307</td>\n",
       "      <td>-73.948775</td>\n",
       "      <td>40.813487</td>\n",
       "      <td>1</td>\n",
       "      <td>10.31</td>\n",
       "      <td>0.0</td>\n",
       "      <td>33.5</td>\n",
       "      <td>38.00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>3</td>\n",
       "      <td>2014-04-30 16:45:10 UTC</td>\n",
       "      <td>-73.989434</td>\n",
       "      <td>40.756601</td>\n",
       "      <td>-73.949989</td>\n",
       "      <td>40.826892</td>\n",
       "      <td>1</td>\n",
       "      <td>6.20</td>\n",
       "      <td>0.0</td>\n",
       "      <td>24.5</td>\n",
       "      <td>31.20</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>4</td>\n",
       "      <td>2013-04-09 09:39:13 UTC</td>\n",
       "      <td>-73.981443</td>\n",
       "      <td>40.763466</td>\n",
       "      <td>-74.010072</td>\n",
       "      <td>40.704927</td>\n",
       "      <td>1</td>\n",
       "      <td>6.50</td>\n",
       "      <td>0.0</td>\n",
       "      <td>24.5</td>\n",
       "      <td>30.00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>5</td>\n",
       "      <td>2014-04-19 14:08:46 UTC</td>\n",
       "      <td>-73.964716</td>\n",
       "      <td>40.773071</td>\n",
       "      <td>-73.997511</td>\n",
       "      <td>40.697289</td>\n",
       "      <td>1</td>\n",
       "      <td>8.70</td>\n",
       "      <td>0.0</td>\n",
       "      <td>26.5</td>\n",
       "      <td>33.75</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>6</td>\n",
       "      <td>2009-03-08 08:51:42 UTC</td>\n",
       "      <td>-73.777129</td>\n",
       "      <td>40.645050</td>\n",
       "      <td>-73.944360</td>\n",
       "      <td>40.662902</td>\n",
       "      <td>1</td>\n",
       "      <td>15.40</td>\n",
       "      <td>0.0</td>\n",
       "      <td>38.9</td>\n",
       "      <td>38.90</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>7</td>\n",
       "      <td>2014-05-17 15:15:00 UTC</td>\n",
       "      <td>-73.980682</td>\n",
       "      <td>40.734032</td>\n",
       "      <td>-73.961948</td>\n",
       "      <td>40.755545</td>\n",
       "      <td>1</td>\n",
       "      <td>2.20</td>\n",
       "      <td>0.0</td>\n",
       "      <td>22.5</td>\n",
       "      <td>23.00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>8</td>\n",
       "      <td>2009-11-01 02:59:23 UTC</td>\n",
       "      <td>-74.006934</td>\n",
       "      <td>40.734067</td>\n",
       "      <td>-73.895708</td>\n",
       "      <td>40.851511</td>\n",
       "      <td>4</td>\n",
       "      <td>12.10</td>\n",
       "      <td>0.0</td>\n",
       "      <td>28.5</td>\n",
       "      <td>29.50</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>9</td>\n",
       "      <td>2009-03-28 20:30:35 UTC</td>\n",
       "      <td>-73.973926</td>\n",
       "      <td>40.757725</td>\n",
       "      <td>-73.981695</td>\n",
       "      <td>40.761591</td>\n",
       "      <td>1</td>\n",
       "      <td>0.50</td>\n",
       "      <td>0.0</td>\n",
       "      <td>4.6</td>\n",
       "      <td>4.60</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "           pickup_datetime  pickup_longitude  pickup_latitude  \\\n",
       "0  2009-02-12 17:51:38 UTC        -73.965325        40.769670   \n",
       "1  2012-02-27 09:19:10 UTC        -73.874431        40.774011   \n",
       "2  2014-05-20 23:09:00 UTC        -73.995203        40.727307   \n",
       "3  2014-04-30 16:45:10 UTC        -73.989434        40.756601   \n",
       "4  2013-04-09 09:39:13 UTC        -73.981443        40.763466   \n",
       "5  2014-04-19 14:08:46 UTC        -73.964716        40.773071   \n",
       "6  2009-03-08 08:51:42 UTC        -73.777129        40.645050   \n",
       "7  2014-05-17 15:15:00 UTC        -73.980682        40.734032   \n",
       "8  2009-11-01 02:59:23 UTC        -74.006934        40.734067   \n",
       "9  2009-03-28 20:30:35 UTC        -73.973926        40.757725   \n",
       "\n",
       "   dropoff_longitude  dropoff_latitude  passenger_count  trip_distance  \\\n",
       "0         -73.980505         40.748393                1           1.70   \n",
       "1         -73.983967         40.744082                1          11.60   \n",
       "2         -73.948775         40.813487                1          10.31   \n",
       "3         -73.949989         40.826892                1           6.20   \n",
       "4         -74.010072         40.704927                1           6.50   \n",
       "5         -73.997511         40.697289                1           8.70   \n",
       "6         -73.944360         40.662902                1          15.40   \n",
       "7         -73.961948         40.755545                1           2.20   \n",
       "8         -73.895708         40.851511                4          12.10   \n",
       "9         -73.981695         40.761591                1           0.50   \n",
       "\n",
       "   tolls_amount  fare_amount  total_amount  \n",
       "0           0.0         11.1         11.60  \n",
       "1           4.8         27.7         38.00  \n",
       "2           0.0         33.5         38.00  \n",
       "3           0.0         24.5         31.20  \n",
       "4           0.0         24.5         30.00  \n",
       "5           0.0         26.5         33.75  \n",
       "6           0.0         38.9         38.90  \n",
       "7           0.0         22.5         23.00  \n",
       "8           0.0         28.5         29.50  \n",
       "9           0.0          4.6          4.60  "
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# We can slice Pandas dataframes as if they were arrays\n",
    "trips[:10]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<h3> Exploring data </h3>\n",
    "\n",
    "Let's explore this dataset and clean it up as necessary. We'll use the Python Seaborn package to visualize graphs and Pandas to do the slicing and filtering."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x576 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# TODO 2\n",
    "ax = sns.regplot(\n",
    "    x=\"trip_distance\", y=\"fare_amount\",\n",
    "    fit_reg=False, ci=None, truncate=True, data=trips)\n",
    "ax.figure.set_size_inches(10, 8)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Hmm ... do you see something wrong with the data that needs addressing?\n",
    "\n",
    "It appears that we have a lot of invalid data that is being coded as zero distance and some fare amounts that are definitely illegitimate. Let's remove them from our analysis. We can do this by modifying the BigQuery query to keep only trips longer than zero miles and fare amounts that are at least the minimum cab fare ($2.50).\n",
    "\n",
    "Note the extra WHERE clauses."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "%%bigquery trips\n",
    "SELECT\n",
    "    FORMAT_TIMESTAMP(\n",
    "        \"%Y-%m-%d %H:%M:%S %Z\", pickup_datetime) AS pickup_datetime,\n",
    "    pickup_longitude, pickup_latitude, \n",
    "    dropoff_longitude, dropoff_latitude,\n",
    "    passenger_count,\n",
    "    trip_distance,\n",
    "    tolls_amount,\n",
    "    fare_amount,\n",
    "    total_amount\n",
    "FROM\n",
    "    `nyc-tlc.yellow.trips`\n",
    "WHERE\n",
    "    ABS(MOD(FARM_FINGERPRINT(CAST(pickup_datetime AS STRING)), 100000)) = 1\n",
    "# TODO 3\n",
    "    AND trip_distance > 0\n",
    "    AND fare_amount >= 2.5"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "10716\n"
     ]
    }
   ],
   "source": [
    "print(len(trips))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x576 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "ax = sns.regplot(\n",
    "    x=\"trip_distance\", y=\"fare_amount\",\n",
    "    fit_reg=False, ci=None, truncate=True, data=trips)\n",
    "ax.figure.set_size_inches(10, 8)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "What's up with the streaks around 45 dollars and 50 dollars?  Those are fixed-amount rides from JFK and La Guardia airports into anywhere in Manhattan, i.e. to be expected. Let's list the data to make sure the values look reasonable.\n",
    "\n",
    "Let's also examine whether the toll amount is captured in the total amount."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>pickup_datetime</th>\n",
       "      <th>pickup_longitude</th>\n",
       "      <th>pickup_latitude</th>\n",
       "      <th>dropoff_longitude</th>\n",
       "      <th>dropoff_latitude</th>\n",
       "      <th>passenger_count</th>\n",
       "      <th>trip_distance</th>\n",
       "      <th>tolls_amount</th>\n",
       "      <th>fare_amount</th>\n",
       "      <th>total_amount</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>2</td>\n",
       "      <td>2012-02-27 09:19:10 UTC</td>\n",
       "      <td>-73.874431</td>\n",
       "      <td>40.774011</td>\n",
       "      <td>-73.983967</td>\n",
       "      <td>40.744082</td>\n",
       "      <td>1</td>\n",
       "      <td>11.6</td>\n",
       "      <td>4.8</td>\n",
       "      <td>27.7</td>\n",
       "      <td>38.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "           pickup_datetime  pickup_longitude  pickup_latitude  \\\n",
       "2  2012-02-27 09:19:10 UTC        -73.874431        40.774011   \n",
       "\n",
       "   dropoff_longitude  dropoff_latitude  passenger_count  trip_distance  \\\n",
       "2         -73.983967         40.744082                1           11.6   \n",
       "\n",
       "   tolls_amount  fare_amount  total_amount  \n",
       "2           4.8         27.7          38.0  "
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "tollrides = trips[trips[\"tolls_amount\"] > 0]\n",
    "tollrides[tollrides[\"pickup_datetime\"] == \"2012-02-27 09:19:10 UTC\"]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>pickup_datetime</th>\n",
       "      <th>pickup_longitude</th>\n",
       "      <th>pickup_latitude</th>\n",
       "      <th>dropoff_longitude</th>\n",
       "      <th>dropoff_latitude</th>\n",
       "      <th>passenger_count</th>\n",
       "      <th>trip_distance</th>\n",
       "      <th>tolls_amount</th>\n",
       "      <th>fare_amount</th>\n",
       "      <th>total_amount</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>47</td>\n",
       "      <td>2012-02-27 09:19:10 UTC</td>\n",
       "      <td>-73.972311</td>\n",
       "      <td>40.753067</td>\n",
       "      <td>-73.957389</td>\n",
       "      <td>40.817824</td>\n",
       "      <td>1</td>\n",
       "      <td>5.6</td>\n",
       "      <td>0.0</td>\n",
       "      <td>16.9</td>\n",
       "      <td>22.62</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>7750</td>\n",
       "      <td>2012-02-27 09:19:10 UTC</td>\n",
       "      <td>-73.987582</td>\n",
       "      <td>40.725468</td>\n",
       "      <td>-74.016628</td>\n",
       "      <td>40.715534</td>\n",
       "      <td>1</td>\n",
       "      <td>2.8</td>\n",
       "      <td>0.0</td>\n",
       "      <td>12.1</td>\n",
       "      <td>15.75</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>10544</td>\n",
       "      <td>2012-02-27 09:19:10 UTC</td>\n",
       "      <td>-74.015483</td>\n",
       "      <td>40.715279</td>\n",
       "      <td>-73.998045</td>\n",
       "      <td>40.756273</td>\n",
       "      <td>1</td>\n",
       "      <td>3.3</td>\n",
       "      <td>0.0</td>\n",
       "      <td>10.9</td>\n",
       "      <td>13.40</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "               pickup_datetime  pickup_longitude  pickup_latitude  \\\n",
       "47     2012-02-27 09:19:10 UTC        -73.972311        40.753067   \n",
       "7750   2012-02-27 09:19:10 UTC        -73.987582        40.725468   \n",
       "10544  2012-02-27 09:19:10 UTC        -74.015483        40.715279   \n",
       "\n",
       "       dropoff_longitude  dropoff_latitude  passenger_count  trip_distance  \\\n",
       "47            -73.957389         40.817824                1            5.6   \n",
       "7750          -74.016628         40.715534                1            2.8   \n",
       "10544         -73.998045         40.756273                1            3.3   \n",
       "\n",
       "       tolls_amount  fare_amount  total_amount  \n",
       "47              0.0         16.9         22.62  \n",
       "7750            0.0         12.1         15.75  \n",
       "10544           0.0         10.9         13.40  "
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "notollrides = trips[trips[\"tolls_amount\"] == 0]\n",
    "notollrides[notollrides[\"pickup_datetime\"] == \"2012-02-27 09:19:10 UTC\"]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Looking at a few samples above, it should be clear that the total amount reflects fare amount, toll and tip somewhat arbitrarily -- this is because when customers pay cash, the tip is not known.  So, we'll use the sum of fare_amount + tolls_amount as what needs to be predicted.  Tips are discretionary and do not have to be included in our fare estimation tool.\n",
    "\n",
    "Let's also look at the distribution of values within the columns."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>pickup_longitude</th>\n",
       "      <th>pickup_latitude</th>\n",
       "      <th>dropoff_longitude</th>\n",
       "      <th>dropoff_latitude</th>\n",
       "      <th>passenger_count</th>\n",
       "      <th>trip_distance</th>\n",
       "      <th>tolls_amount</th>\n",
       "      <th>fare_amount</th>\n",
       "      <th>total_amount</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>count</td>\n",
       "      <td>10716.000000</td>\n",
       "      <td>10716.000000</td>\n",
       "      <td>10716.000000</td>\n",
       "      <td>10716.000000</td>\n",
       "      <td>10716.000000</td>\n",
       "      <td>10716.000000</td>\n",
       "      <td>10716.000000</td>\n",
       "      <td>10716.000000</td>\n",
       "      <td>10716.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>mean</td>\n",
       "      <td>-72.602192</td>\n",
       "      <td>40.002372</td>\n",
       "      <td>-72.594838</td>\n",
       "      <td>40.002052</td>\n",
       "      <td>1.650056</td>\n",
       "      <td>2.856395</td>\n",
       "      <td>0.226428</td>\n",
       "      <td>11.109446</td>\n",
       "      <td>13.217078</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>std</td>\n",
       "      <td>9.982373</td>\n",
       "      <td>5.474670</td>\n",
       "      <td>10.004324</td>\n",
       "      <td>5.474648</td>\n",
       "      <td>1.283577</td>\n",
       "      <td>3.322024</td>\n",
       "      <td>1.135934</td>\n",
       "      <td>9.137710</td>\n",
       "      <td>10.953156</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>min</td>\n",
       "      <td>-74.258183</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>-74.260472</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.010000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>2.500000</td>\n",
       "      <td>2.500000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>25%</td>\n",
       "      <td>-73.992153</td>\n",
       "      <td>40.735936</td>\n",
       "      <td>-73.991566</td>\n",
       "      <td>40.734310</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.040000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>6.000000</td>\n",
       "      <td>7.300000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>50%</td>\n",
       "      <td>-73.981851</td>\n",
       "      <td>40.753264</td>\n",
       "      <td>-73.980373</td>\n",
       "      <td>40.752956</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.770000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>8.500000</td>\n",
       "      <td>10.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>75%</td>\n",
       "      <td>-73.967400</td>\n",
       "      <td>40.767340</td>\n",
       "      <td>-73.964142</td>\n",
       "      <td>40.767510</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>3.160000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>12.500000</td>\n",
       "      <td>14.600000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>max</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>41.366138</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>41.366138</td>\n",
       "      <td>6.000000</td>\n",
       "      <td>42.800000</td>\n",
       "      <td>16.000000</td>\n",
       "      <td>179.000000</td>\n",
       "      <td>179.000000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "       pickup_longitude  pickup_latitude  dropoff_longitude  dropoff_latitude  \\\n",
       "count      10716.000000     10716.000000       10716.000000      10716.000000   \n",
       "mean         -72.602192        40.002372         -72.594838         40.002052   \n",
       "std            9.982373         5.474670          10.004324          5.474648   \n",
       "min          -74.258183         0.000000         -74.260472          0.000000   \n",
       "25%          -73.992153        40.735936         -73.991566         40.734310   \n",
       "50%          -73.981851        40.753264         -73.980373         40.752956   \n",
       "75%          -73.967400        40.767340         -73.964142         40.767510   \n",
       "max            0.000000        41.366138           0.000000         41.366138   \n",
       "\n",
       "       passenger_count  trip_distance  tolls_amount   fare_amount  \\\n",
       "count     10716.000000   10716.000000  10716.000000  10716.000000   \n",
       "mean          1.650056       2.856395      0.226428     11.109446   \n",
       "std           1.283577       3.322024      1.135934      9.137710   \n",
       "min           0.000000       0.010000      0.000000      2.500000   \n",
       "25%           1.000000       1.040000      0.000000      6.000000   \n",
       "50%           1.000000       1.770000      0.000000      8.500000   \n",
       "75%           2.000000       3.160000      0.000000     12.500000   \n",
       "max           6.000000      42.800000     16.000000    179.000000   \n",
       "\n",
       "       total_amount  \n",
       "count  10716.000000  \n",
       "mean      13.217078  \n",
       "std       10.953156  \n",
       "min        2.500000  \n",
       "25%        7.300000  \n",
       "50%       10.000000  \n",
       "75%       14.600000  \n",
       "max      179.000000  "
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "trips.describe()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Hmm ... The min, max of longitude look strange.\n",
    "\n",
    "Finally, let's actually look at the start and end of a few of the trips."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [],
   "source": [
    "def showrides(df, numlines):\n",
    "    lats = []\n",
    "    lons = []\n",
    "    for iter, row in df[:numlines].iterrows():\n",
    "        lons.append(row[\"pickup_longitude\"])\n",
    "        lons.append(row[\"dropoff_longitude\"])\n",
    "        lons.append(None)\n",
    "        lats.append(row[\"pickup_latitude\"])\n",
    "        lats.append(row[\"dropoff_latitude\"])\n",
    "        lats.append(None)\n",
    "\n",
    "    sns.set_style(\"darkgrid\")\n",
    "    plt.figure(figsize=(10, 8))\n",
    "    plt.plot(lons, lats)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x576 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "showrides(notollrides, 10)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x576 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "showrides(tollrides, 10)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "As you'd expect, rides that involve a toll are longer than the typical ride."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<h3> Quality control and other preprocessing </h3>\n",
    "\n",
    "We need to do some clean-up of the data:\n",
    "<ol>\n",
    "<li>New York city longitudes are around -74 and latitudes are around 41.</li>\n",
    "<li>We shouldn't have zero passengers.</li>\n",
    "<li>Clean up the total_amount column to reflect only fare_amount and tolls_amount, and then remove those two columns.</li>\n",
    "<li>Before the ride starts, we'll know the pickup and dropoff locations, but not the trip distance (that depends on the route taken), so remove it from the ML dataset</li>\n",
    "<li>Discard the timestamp</li>\n",
    "</ol>\n",
    "\n",
    "We could do preprocessing in BigQuery, similar to how we removed the zero-distance rides, but just to show you another option, let's do this in Python.  In production, we'll have to carry out the same preprocessing on the real-time input data. \n",
    "\n",
    "This sort of preprocessing of input data is quite common in ML, especially if the quality-control is dynamic."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>pickup_longitude</th>\n",
       "      <th>pickup_latitude</th>\n",
       "      <th>dropoff_longitude</th>\n",
       "      <th>dropoff_latitude</th>\n",
       "      <th>passenger_count</th>\n",
       "      <th>fare_amount</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>count</td>\n",
       "      <td>10476.000000</td>\n",
       "      <td>10476.000000</td>\n",
       "      <td>10476.000000</td>\n",
       "      <td>10476.000000</td>\n",
       "      <td>10476.000000</td>\n",
       "      <td>10476.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>mean</td>\n",
       "      <td>-73.975206</td>\n",
       "      <td>40.751526</td>\n",
       "      <td>-73.974373</td>\n",
       "      <td>40.751199</td>\n",
       "      <td>1.653303</td>\n",
       "      <td>11.349003</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>std</td>\n",
       "      <td>0.038547</td>\n",
       "      <td>0.029187</td>\n",
       "      <td>0.039086</td>\n",
       "      <td>0.033147</td>\n",
       "      <td>1.278827</td>\n",
       "      <td>9.878630</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>min</td>\n",
       "      <td>-74.258183</td>\n",
       "      <td>40.452290</td>\n",
       "      <td>-74.260472</td>\n",
       "      <td>40.417750</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>2.500000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>25%</td>\n",
       "      <td>-73.992336</td>\n",
       "      <td>40.737600</td>\n",
       "      <td>-73.991739</td>\n",
       "      <td>40.735904</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>6.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>50%</td>\n",
       "      <td>-73.982090</td>\n",
       "      <td>40.754020</td>\n",
       "      <td>-73.980780</td>\n",
       "      <td>40.753597</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>8.500000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>75%</td>\n",
       "      <td>-73.968517</td>\n",
       "      <td>40.767774</td>\n",
       "      <td>-73.965851</td>\n",
       "      <td>40.767921</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>12.500000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>max</td>\n",
       "      <td>-73.137393</td>\n",
       "      <td>41.366138</td>\n",
       "      <td>-73.137393</td>\n",
       "      <td>41.366138</td>\n",
       "      <td>6.000000</td>\n",
       "      <td>179.000000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "       pickup_longitude  pickup_latitude  dropoff_longitude  dropoff_latitude  \\\n",
       "count      10476.000000     10476.000000       10476.000000      10476.000000   \n",
       "mean         -73.975206        40.751526         -73.974373         40.751199   \n",
       "std            0.038547         0.029187           0.039086          0.033147   \n",
       "min          -74.258183        40.452290         -74.260472         40.417750   \n",
       "25%          -73.992336        40.737600         -73.991739         40.735904   \n",
       "50%          -73.982090        40.754020         -73.980780         40.753597   \n",
       "75%          -73.968517        40.767774         -73.965851         40.767921   \n",
       "max          -73.137393        41.366138         -73.137393         41.366138   \n",
       "\n",
       "       passenger_count   fare_amount  \n",
       "count     10476.000000  10476.000000  \n",
       "mean          1.653303     11.349003  \n",
       "std           1.278827      9.878630  \n",
       "min           1.000000      2.500000  \n",
       "25%           1.000000      6.000000  \n",
       "50%           1.000000      8.500000  \n",
       "75%           2.000000     12.500000  \n",
       "max           6.000000    179.000000  "
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "def preprocess(trips_in):\n",
    "    trips = trips_in.copy(deep=True)\n",
    "    trips.fare_amount = trips.fare_amount + trips.tolls_amount\n",
    "    del trips[\"tolls_amount\"]\n",
    "    del trips[\"total_amount\"]\n",
    "    del trips[\"trip_distance\"]  # we won't know this in advance!\n",
    "\n",
    "    qc = np.all([\n",
    "        trips[\"pickup_longitude\"] > -78,\n",
    "        trips[\"pickup_longitude\"] < -70,\n",
    "        trips[\"dropoff_longitude\"] > -78,\n",
    "        trips[\"dropoff_longitude\"] < -70,\n",
    "        trips[\"pickup_latitude\"] > 37,\n",
    "        trips[\"pickup_latitude\"] < 45,\n",
    "        trips[\"dropoff_latitude\"] > 37,\n",
    "        trips[\"dropoff_latitude\"] < 45,\n",
    "        trips[\"passenger_count\"] > 0\n",
    "    ], axis=0)\n",
    "\n",
    "    return trips[qc]\n",
    "\n",
    "tripsqc = preprocess(trips)\n",
    "tripsqc.describe()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The quality control has removed about 300 rows (11400 - 11101) or about 3% of the data. This seems reasonable.\n",
    "\n",
    "Let's move on to creating the ML datasets.\n",
    "\n",
    "<h3> Create ML datasets </h3>\n",
    "\n",
    "Let's split the QCed data randomly into training, validation and test sets.\n",
    "Note that this is not the entire data. We have 1 billion taxicab rides. This is just splitting the 10,000 rides to show you how it's done on smaller datasets. In reality, we'll have to do it on all 1 billion rides and this won't scale."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [],
   "source": [
    "shuffled = tripsqc.sample(frac=1)\n",
    "trainsize = int(len(shuffled[\"fare_amount\"]) * 0.70)\n",
    "validsize = int(len(shuffled[\"fare_amount\"]) * 0.15)\n",
    "\n",
    "df_train = shuffled.iloc[:trainsize, :]\n",
    "df_valid = shuffled.iloc[trainsize:(trainsize + validsize), :]\n",
    "df_test = shuffled.iloc[(trainsize + validsize):, :]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>pickup_datetime</th>\n",
       "      <th>pickup_longitude</th>\n",
       "      <th>pickup_latitude</th>\n",
       "      <th>dropoff_longitude</th>\n",
       "      <th>dropoff_latitude</th>\n",
       "      <th>passenger_count</th>\n",
       "      <th>fare_amount</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>9718</td>\n",
       "      <td>2011-07-27 09:45:56 UTC</td>\n",
       "      <td>-73.98012</td>\n",
       "      <td>40.730552</td>\n",
       "      <td>-73.990246</td>\n",
       "      <td>40.756076</td>\n",
       "      <td>2</td>\n",
       "      <td>11.3</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "              pickup_datetime  pickup_longitude  pickup_latitude  \\\n",
       "9718  2011-07-27 09:45:56 UTC         -73.98012        40.730552   \n",
       "\n",
       "      dropoff_longitude  dropoff_latitude  passenger_count  fare_amount  \n",
       "9718         -73.990246         40.756076                2         11.3  "
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_train.head(n=1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>pickup_longitude</th>\n",
       "      <th>pickup_latitude</th>\n",
       "      <th>dropoff_longitude</th>\n",
       "      <th>dropoff_latitude</th>\n",
       "      <th>passenger_count</th>\n",
       "      <th>fare_amount</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>count</td>\n",
       "      <td>7333.000000</td>\n",
       "      <td>7333.000000</td>\n",
       "      <td>7333.000000</td>\n",
       "      <td>7333.000000</td>\n",
       "      <td>7333.000000</td>\n",
       "      <td>7333.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>mean</td>\n",
       "      <td>-73.975458</td>\n",
       "      <td>40.751361</td>\n",
       "      <td>-73.974390</td>\n",
       "      <td>40.751321</td>\n",
       "      <td>1.642029</td>\n",
       "      <td>11.339677</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>std</td>\n",
       "      <td>0.035886</td>\n",
       "      <td>0.027382</td>\n",
       "      <td>0.038016</td>\n",
       "      <td>0.032218</td>\n",
       "      <td>1.258757</td>\n",
       "      <td>9.643396</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>min</td>\n",
       "      <td>-74.258183</td>\n",
       "      <td>40.608573</td>\n",
       "      <td>-74.260472</td>\n",
       "      <td>40.561076</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>2.500000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>25%</td>\n",
       "      <td>-73.992532</td>\n",
       "      <td>40.737748</td>\n",
       "      <td>-73.991604</td>\n",
       "      <td>40.736398</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>6.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>50%</td>\n",
       "      <td>-73.982140</td>\n",
       "      <td>40.754077</td>\n",
       "      <td>-73.980835</td>\n",
       "      <td>40.753983</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>8.500000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>75%</td>\n",
       "      <td>-73.968541</td>\n",
       "      <td>40.767605</td>\n",
       "      <td>-73.965786</td>\n",
       "      <td>40.768035</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>12.500000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>max</td>\n",
       "      <td>-73.137393</td>\n",
       "      <td>41.366138</td>\n",
       "      <td>-73.137393</td>\n",
       "      <td>41.366138</td>\n",
       "      <td>6.000000</td>\n",
       "      <td>179.000000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "       pickup_longitude  pickup_latitude  dropoff_longitude  dropoff_latitude  \\\n",
       "count       7333.000000      7333.000000        7333.000000       7333.000000   \n",
       "mean         -73.975458        40.751361         -73.974390         40.751321   \n",
       "std            0.035886         0.027382           0.038016          0.032218   \n",
       "min          -74.258183        40.608573         -74.260472         40.561076   \n",
       "25%          -73.992532        40.737748         -73.991604         40.736398   \n",
       "50%          -73.982140        40.754077         -73.980835         40.753983   \n",
       "75%          -73.968541        40.767605         -73.965786         40.768035   \n",
       "max          -73.137393        41.366138         -73.137393         41.366138   \n",
       "\n",
       "       passenger_count  fare_amount  \n",
       "count      7333.000000  7333.000000  \n",
       "mean          1.642029    11.339677  \n",
       "std           1.258757     9.643396  \n",
       "min           1.000000     2.500000  \n",
       "25%           1.000000     6.000000  \n",
       "50%           1.000000     8.500000  \n",
       "75%           2.000000    12.500000  \n",
       "max           6.000000   179.000000  "
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_train.describe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>pickup_longitude</th>\n",
       "      <th>pickup_latitude</th>\n",
       "      <th>dropoff_longitude</th>\n",
       "      <th>dropoff_latitude</th>\n",
       "      <th>passenger_count</th>\n",
       "      <th>fare_amount</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>count</td>\n",
       "      <td>1571.000000</td>\n",
       "      <td>1571.000000</td>\n",
       "      <td>1571.000000</td>\n",
       "      <td>1571.000000</td>\n",
       "      <td>1571.000000</td>\n",
       "      <td>1571.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>mean</td>\n",
       "      <td>-73.973921</td>\n",
       "      <td>40.752835</td>\n",
       "      <td>-73.973232</td>\n",
       "      <td>40.751910</td>\n",
       "      <td>1.698281</td>\n",
       "      <td>11.190777</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>std</td>\n",
       "      <td>0.047222</td>\n",
       "      <td>0.034633</td>\n",
       "      <td>0.045578</td>\n",
       "      <td>0.039445</td>\n",
       "      <td>1.330913</td>\n",
       "      <td>10.243204</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>min</td>\n",
       "      <td>-74.043078</td>\n",
       "      <td>40.452290</td>\n",
       "      <td>-74.181608</td>\n",
       "      <td>40.417750</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>2.500000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>25%</td>\n",
       "      <td>-73.991508</td>\n",
       "      <td>40.738050</td>\n",
       "      <td>-73.991885</td>\n",
       "      <td>40.735402</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>6.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>50%</td>\n",
       "      <td>-73.981873</td>\n",
       "      <td>40.754845</td>\n",
       "      <td>-73.980273</td>\n",
       "      <td>40.753456</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>8.100000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>75%</td>\n",
       "      <td>-73.968047</td>\n",
       "      <td>40.768333</td>\n",
       "      <td>-73.963515</td>\n",
       "      <td>40.768279</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>12.100000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>max</td>\n",
       "      <td>-73.137393</td>\n",
       "      <td>41.366138</td>\n",
       "      <td>-73.137393</td>\n",
       "      <td>41.366138</td>\n",
       "      <td>6.000000</td>\n",
       "      <td>144.800000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "       pickup_longitude  pickup_latitude  dropoff_longitude  dropoff_latitude  \\\n",
       "count       1571.000000      1571.000000        1571.000000       1571.000000   \n",
       "mean         -73.973921        40.752835         -73.973232         40.751910   \n",
       "std            0.047222         0.034633           0.045578          0.039445   \n",
       "min          -74.043078        40.452290         -74.181608         40.417750   \n",
       "25%          -73.991508        40.738050         -73.991885         40.735402   \n",
       "50%          -73.981873        40.754845         -73.980273         40.753456   \n",
       "75%          -73.968047        40.768333         -73.963515         40.768279   \n",
       "max          -73.137393        41.366138         -73.137393         41.366138   \n",
       "\n",
       "       passenger_count  fare_amount  \n",
       "count      1571.000000  1571.000000  \n",
       "mean          1.698281    11.190777  \n",
       "std           1.330913    10.243204  \n",
       "min           1.000000     2.500000  \n",
       "25%           1.000000     6.000000  \n",
       "50%           1.000000     8.100000  \n",
       "75%           2.000000    12.100000  \n",
       "max           6.000000   144.800000  "
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_valid.describe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>pickup_longitude</th>\n",
       "      <th>pickup_latitude</th>\n",
       "      <th>dropoff_longitude</th>\n",
       "      <th>dropoff_latitude</th>\n",
       "      <th>passenger_count</th>\n",
       "      <th>fare_amount</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>count</td>\n",
       "      <td>1572.000000</td>\n",
       "      <td>1572.000000</td>\n",
       "      <td>1572.000000</td>\n",
       "      <td>1572.000000</td>\n",
       "      <td>1572.000000</td>\n",
       "      <td>1572.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>mean</td>\n",
       "      <td>-73.975317</td>\n",
       "      <td>40.750986</td>\n",
       "      <td>-73.975436</td>\n",
       "      <td>40.749916</td>\n",
       "      <td>1.660941</td>\n",
       "      <td>11.550636</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>std</td>\n",
       "      <td>0.040827</td>\n",
       "      <td>0.031306</td>\n",
       "      <td>0.036921</td>\n",
       "      <td>0.030409</td>\n",
       "      <td>1.317821</td>\n",
       "      <td>10.571027</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>min</td>\n",
       "      <td>-74.187541</td>\n",
       "      <td>40.633522</td>\n",
       "      <td>-74.187541</td>\n",
       "      <td>40.590919</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>2.900000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>25%</td>\n",
       "      <td>-73.992529</td>\n",
       "      <td>40.736388</td>\n",
       "      <td>-73.992098</td>\n",
       "      <td>40.734470</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>6.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>50%</td>\n",
       "      <td>-73.982109</td>\n",
       "      <td>40.753436</td>\n",
       "      <td>-73.981128</td>\n",
       "      <td>40.752893</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>8.500000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>75%</td>\n",
       "      <td>-73.969370</td>\n",
       "      <td>40.767797</td>\n",
       "      <td>-73.967812</td>\n",
       "      <td>40.766533</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>12.500000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>max</td>\n",
       "      <td>-73.137393</td>\n",
       "      <td>41.366138</td>\n",
       "      <td>-73.776288</td>\n",
       "      <td>41.001380</td>\n",
       "      <td>6.000000</td>\n",
       "      <td>99.300000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "       pickup_longitude  pickup_latitude  dropoff_longitude  dropoff_latitude  \\\n",
       "count       1572.000000      1572.000000        1572.000000       1572.000000   \n",
       "mean         -73.975317        40.750986         -73.975436         40.749916   \n",
       "std            0.040827         0.031306           0.036921          0.030409   \n",
       "min          -74.187541        40.633522         -74.187541         40.590919   \n",
       "25%          -73.992529        40.736388         -73.992098         40.734470   \n",
       "50%          -73.982109        40.753436         -73.981128         40.752893   \n",
       "75%          -73.969370        40.767797         -73.967812         40.766533   \n",
       "max          -73.137393        41.366138         -73.776288         41.001380   \n",
       "\n",
       "       passenger_count  fare_amount  \n",
       "count      1572.000000  1572.000000  \n",
       "mean          1.660941    11.550636  \n",
       "std           1.317821    10.571027  \n",
       "min           1.000000     2.900000  \n",
       "25%           1.000000     6.000000  \n",
       "50%           1.000000     8.500000  \n",
       "75%           2.000000    12.500000  \n",
       "max           6.000000    99.300000  "
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_test.describe()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Let's write out the three dataframes to appropriately named csv files. We can use these csv files for local training (recall that these files represent only 1/100,000 of the full dataset) just to verify our code works, before we run it on all the data."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "['fare_amount', 'pickup_datetime', 'pickup_longitude', 'pickup_latitude', 'dropoff_longitude', 'dropoff_latitude', 'passenger_count', 'key']\n",
      "['fare_amount', 'pickup_datetime', 'pickup_longitude', 'pickup_latitude', 'dropoff_longitude', 'dropoff_latitude', 'passenger_count', 'key']\n",
      "['fare_amount', 'pickup_datetime', 'pickup_longitude', 'pickup_latitude', 'dropoff_longitude', 'dropoff_latitude', 'passenger_count', 'key']\n"
     ]
    }
   ],
   "source": [
    "def to_csv(df, filename):\n",
    "    outdf = df.copy(deep=False)\n",
    "    outdf.loc[:, \"key\"] = np.arange(0, len(outdf))  # rownumber as key\n",
    "    # Reorder columns so that target is first column\n",
    "    cols = outdf.columns.tolist()\n",
    "    cols.remove(\"fare_amount\")\n",
    "    cols.insert(0, \"fare_amount\")\n",
    "    print (cols)  # new order of columns\n",
    "    outdf = outdf[cols]\n",
    "    outdf.to_csv(filename, header=False, index_label=False, index=False)\n",
    "\n",
    "to_csv(df_train, \"taxi-train.csv\")\n",
    "to_csv(df_valid, \"taxi-valid.csv\")\n",
    "to_csv(df_test, \"taxi-test.csv\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "6.0,2013-10-13 10:02:20 UTC,-73.950821,40.810753,-73.964465,40.807449,1,0\n",
      "120.0,2015-04-28 15:00:24 UTC,-73.86323547363281,40.76896286010742,-73.964599609375,40.9226188659668,1,1\n",
      "7.5,2012-12-31 21:07:30 UTC,-74.000094,40.738104,-73.985071,40.736013,2,2\n",
      "9.5,2014-11-16 09:00:22 UTC,-73.968167,40.75261,-73.958636,40.778393,2,3\n",
      "9.3,2012-02-03 19:07:41 UTC,-73.970027,40.789105,-73.987416,40.761225,1,4\n",
      "4.5,2015-04-21 23:19:43 UTC,-73.97529602050781,40.76133728027344,-73.96334838867188,40.75605392456055,1,5\n",
      "6.1,2011-11-22 07:39:09 UTC,-73.969197,40.764832,-73.980742,40.774061,2,6\n",
      "20.0,2013-04-02 21:15:20 UTC,-73.992788,40.749358,-73.963698,40.716271,1,7\n",
      "5.7,2012-04-13 22:23:16 UTC,-73.99782,40.745847,-73.993732,40.732632,1,8\n",
      "8.9,2009-07-18 01:19:34 UTC,-73.987535,40.749581,-73.991891,40.721913,1,9\n"
     ]
    }
   ],
   "source": [
    "!head -10 taxi-valid.csv"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<h3> Verify that datasets exist </h3>"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "-rw-r--r-- 1 jupyter jupyter 123269 Nov  6 04:53 taxi-test.csv\n",
      "-rw-r--r-- 1 jupyter jupyter 579473 Nov  6 04:53 taxi-train.csv\n",
      "-rw-r--r-- 1 jupyter jupyter 123017 Nov  6 04:53 taxi-valid.csv\n"
     ]
    }
   ],
   "source": [
    "!ls -l *.csv"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We have 3 .csv files corresponding to train, valid, test.  The ratio of file-sizes correspond to our split of the data."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "11.3,2011-07-27 09:45:56 UTC,-73.98012,40.730552,-73.990246,40.756076,2,0\n",
      "10.0,2014-12-08 21:50:00 UTC,-73.97866,40.752247,-73.955233,40.777127,1,1\n",
      "11.0,2013-12-26 18:32:32 UTC,-73.873022,40.774008,-73.907011,40.779224,1,2\n",
      "8.5,2013-03-07 17:27:13 UTC,-73.951629,40.766381,-73.9672,40.763297,1,3\n",
      "17.5,2014-05-17 15:15:00 UTC,-73.973497,40.75226,-73.98016,40.783375,1,4\n",
      "4.5,2012-07-19 06:27:00 UTC,-73.986312,40.762285,-73.989482,40.7522,2,5\n",
      "6.9,2012-04-18 22:37:09 UTC,-73.955483,40.77361,-73.950013,40.775647,3,6\n",
      "8.1,2010-12-21 13:08:00 UTC,-73.96252,40.754513,-73.988832,40.755882,5,7\n",
      "7.3,2010-12-19 18:25:51 UTC,-73.967995,40.765737,-73.981012,40.7446,1,8\n",
      "7.5,2014-10-06 15:16:00 UTC,-73.99088,40.73448,-74.00699,40.72737,1,9\n"
     ]
    }
   ],
   "source": [
    "%%bash\n",
    "head taxi-train.csv"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Looks good! We now have our ML datasets and are ready to train ML models, validate them and evaluate them."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<h3> Benchmark </h3>\n",
    "\n",
    "Before we start building complex ML models, it is a good idea to come up with a very simple model and use that as a benchmark.\n",
    "\n",
    "My model is going to be to simply divide the mean fare_amount by the mean trip_distance to come up with a rate and use that to predict.  Let's compute the RMSE of such a model."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Rate = $2.5942426114682986/km\n",
      "Train RMSE = 7.037332431803795\n",
      "Valid RMSE = 7.5827177000074\n",
      "Test RMSE = 9.751687930029119\n"
     ]
    }
   ],
   "source": [
    "def distance_between(lat1, lon1, lat2, lon2):\n",
    "    # Haversine formula to compute distance \"as the crow flies\".\n",
    "    lat1_r = np.radians(lat1)\n",
    "    lat2_r = np.radians(lat2)\n",
    "    lon_diff_r = np.radians(lon2 - lon1)\n",
    "    sin_prod = np.sin(lat1_r) * np.sin(lat2_r)\n",
    "    cos_prod = np.cos(lat1_r) * np.cos(lat2_r) * np.cos(lon_diff_r)\n",
    "    minimum = np.minimum(1, sin_prod + cos_prod)\n",
    "    dist = np.degrees(np.arccos(minimum)) * 60 * 1.515 * 1.609344\n",
    "\n",
    "    return dist\n",
    "\n",
    "def estimate_distance(df):\n",
    "    return distance_between(\n",
    "        df[\"pickuplat\"], df[\"pickuplon\"], df[\"dropofflat\"], df[\"dropofflon\"])\n",
    "\n",
    "def compute_rmse(actual, predicted):\n",
    "    return np.sqrt(np.mean((actual - predicted) ** 2))\n",
    "\n",
    "def print_rmse(df, rate, name):\n",
    "    print (\"{1} RMSE = {0}\".format(\n",
    "        compute_rmse(df[\"fare_amount\"], rate * estimate_distance(df)), name))\n",
    "\n",
    "# TODO 4\n",
    "FEATURES = [\"pickuplon\", \"pickuplat\", \"dropofflon\", \"dropofflat\", \"passengers\"]\n",
    "TARGET = \"fare_amount\"\n",
    "columns = list([TARGET])\n",
    "columns.append(\"pickup_datetime\")\n",
    "columns.extend(FEATURES)  # in CSV, target is first column, after the features\n",
    "columns.append(\"key\")\n",
    "df_train = pd.read_csv(\"taxi-train.csv\", header=None, names=columns)\n",
    "df_valid = pd.read_csv(\"taxi-valid.csv\", header=None, names=columns)\n",
    "df_test = pd.read_csv(\"taxi-test.csv\", header=None, names=columns)\n",
    "rate = df_train[\"fare_amount\"].mean() / estimate_distance(df_train).mean()\n",
    "print (\"Rate = ${0}/km\".format(rate))\n",
    "print_rmse(df_train, rate, \"Train\")\n",
    "print_rmse(df_valid, rate, \"Valid\") \n",
    "print_rmse(df_test, rate, \"Test\") "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<h2>Benchmark on same dataset</h2>\n",
    "\n",
    "The RMSE depends on the dataset, and for comparison, we have to evaluate on the same dataset each time. We'll use this query in later labs:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Final Validation Set RMSE = 8.135336354024895\n"
     ]
    }
   ],
   "source": [
    "validation_query = \"\"\"\n",
    "SELECT\n",
    "    (tolls_amount + fare_amount) AS fare_amount,\n",
    "    pickup_datetime,\n",
    "    pickup_longitude AS pickuplon,\n",
    "    pickup_latitude AS pickuplat,\n",
    "    dropoff_longitude AS dropofflon,\n",
    "    dropoff_latitude AS dropofflat,\n",
    "    passenger_count*1.0 AS passengers,\n",
    "    \"unused\" AS key\n",
    "FROM\n",
    "    `nyc-tlc.yellow.trips`\n",
    "WHERE\n",
    "    ABS(MOD(FARM_FINGERPRINT(CAST(pickup_datetime AS STRING)), 10000)) = 2\n",
    "    AND trip_distance > 0\n",
    "    AND fare_amount >= 2.5\n",
    "    AND pickup_longitude > -78\n",
    "    AND pickup_longitude < -70\n",
    "    AND dropoff_longitude > -78\n",
    "    AND dropoff_longitude < -70\n",
    "    AND pickup_latitude > 37\n",
    "    AND pickup_latitude < 45\n",
    "    AND dropoff_latitude > 37\n",
    "    AND dropoff_latitude < 45\n",
    "    AND passenger_count > 0\n",
    "\"\"\"\n",
    "\n",
    "client = bigquery.Client()\n",
    "df_valid = client.query(validation_query).to_dataframe()\n",
    "print_rmse(df_valid, 2.59988, \"Final Validation Set\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The simple distance-based rule gives us a RMSE of <b>$8.14</b>.  We have to beat this, of course, but you will find that simple rules of thumb like this can be surprisingly difficult to beat.\n",
    "\n",
    "Let's be ambitious, though, and make our goal to build ML models that have a RMSE of less than $6 on the test set."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Copyright 2020 Google Inc.\n",
    "Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License. You may obtain a copy of the License at\n",
    "http://www.apache.org/licenses/LICENSE-2.0\n",
    "Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License."
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.5.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
